package com.wolfcode.goods.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.wolfcode.common.annotation.Excel;
import com.wolfcode.common.core.domain.BaseEntity;

/**
 * 出入库单据对象 stock_bill
 * 
 * @author sitia
 * @date 2022-12-11
 */
public class StockBill extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 单据流水号 */
    private Long id;

    /** 类型, 0 入库, 1 出库 */
    @Excel(name = "类型, 0 入库, 1 出库")
    private Integer type;

    /** 仓库id */
    @Excel(name = "仓库id")
    private Long storeId;

    /** 出入库时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出入库时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date busiDate;

    /** 0 正常, -1 作废 */
    @Excel(name = "0 正常, -1 作废")
    private Integer status;

    /** 操作时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "操作时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date operateDate;

    /** 操作人 */
    @Excel(name = "操作人")
    private Long operatorId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setType(Integer type) 
    {
        this.type = type;
    }

    public Integer getType() 
    {
        return type;
    }
    public void setStoreId(Long storeId) 
    {
        this.storeId = storeId;
    }

    public Long getStoreId() 
    {
        return storeId;
    }
    public void setBusiDate(Date busiDate) 
    {
        this.busiDate = busiDate;
    }

    public Date getBusiDate() 
    {
        return busiDate;
    }
    public void setStatus(Integer status) 
    {
        this.status = status;
    }

    public Integer getStatus() 
    {
        return status;
    }
    public void setOperateDate(Date operateDate) 
    {
        this.operateDate = operateDate;
    }

    public Date getOperateDate() 
    {
        return operateDate;
    }
    public void setOperatorId(Long operatorId) 
    {
        this.operatorId = operatorId;
    }

    public Long getOperatorId() 
    {
        return operatorId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("type", getType())
            .append("storeId", getStoreId())
            .append("busiDate", getBusiDate())
            .append("status", getStatus())
            .append("operateDate", getOperateDate())
            .append("operatorId", getOperatorId())
            .append("remark", getRemark())
            .toString();
    }
}
